package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.ColumnType;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 闲鱼联盟CPA佣金明细 idle_affiliate_cpa_income_detail
 *
 * @author ruoyi
 */
public class IdleAffiliateCpaIncomeDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @Excel(name = "主键ID", cellType = ColumnType.NUMERIC)
    private Long id;

    /** 账单ID */
    @Excel(name = "账单ID")
    private String billId;

    /** 子渠道ID */
    @Excel(name = "子渠道ID")
    private String subPublisherId;

    /** 被邀请人ID */
    @Excel(name = "被邀请人ID")
    private String inviteeId;

    /** 活动ID */
    @Excel(name = "活动ID")
    private String campaignId;

    /** 账单状态：1-待发放，2-已发放，3-已取消 */
    @Excel(name = "账单状态", readConverterExp = "1=待发放,2=已发放,3=已取消")
    private Integer state;

    /** 账单状态描述 */
    @Excel(name = "账单状态描述")
    private String stateText;

    /** 结算金额 */
    @Excel(name = "结算金额")
    private BigDecimal amount;

    /** 金额计算公式 */
    @Excel(name = "金额计算公式")
    private String amountCalculationFormula;

    /** 备注说明 */
    @Excel(name = "备注说明")
    private String comment;

    /** 扩展信息 */
    @Excel(name = "扩展信息")
    private String extendInfo;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getBillId() {
        return billId;
    }

    public void setBillId(String billId) {
        this.billId = billId;
    }

    public String getSubPublisherId() {
        return subPublisherId;
    }

    public void setSubPublisherId(String subPublisherId) {
        this.subPublisherId = subPublisherId;
    }

    public String getInviteeId() {
        return inviteeId;
    }

    public void setInviteeId(String inviteeId) {
        this.inviteeId = inviteeId;
    }

    public String getCampaignId() {
        return campaignId;
    }

    public void setCampaignId(String campaignId) {
        this.campaignId = campaignId;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getStateText() {
        return stateText;
    }

    public void setStateText(String stateText) {
        this.stateText = stateText;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getAmountCalculationFormula() {
        return amountCalculationFormula;
    }

    public void setAmountCalculationFormula(String amountCalculationFormula) {
        this.amountCalculationFormula = amountCalculationFormula;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public String getExtendInfo() {
        return extendInfo;
    }

    public void setExtendInfo(String extendInfo) {
        this.extendInfo = extendInfo;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public Date getUpdateTime() {
        return updateTime;
    }

    @Override
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}